package com.luanhj.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.luanhj.common.core.domain.entity.SysUser;
import com.luanhj.common.core.domain.entity.Tenant;
import com.luanhj.system.domain.SysStudent;
import com.luanhj.system.domain.dto.TenantDTO;

import java.util.List;
import java.util.Map;

/**
 * 租户Service接口
 * 
 * @author ruoyi
 * @date 2025-06-03
 */
public interface ITenantService  extends IService<Tenant>
{

    /**
     * 查询租户列表
     *
     * @param tenant 租户信息
     * @return 租户信息集合
     */
    public List<Tenant> queryList(Tenant  tenant);
    /**
     * 示例，绕过租户拦截器或作用于共享表（如租户元数据表）
     * 统计每个租户的注册用户数
     *
     * @return 每个租户的注册用户数
     */
    Map<String, Integer> countUsersPerTenant();

    /**
     * 修改租户状态
     *
     * @param tenant 租户信息
     * @return 结果
     */
    int updateTenantStatus(Tenant tenant);


    /**
     * 查询租户列表
     *
     * @param tenant 租户信息
     * @return 租户信息集合
     */
    List<TenantDTO> noTenantQueryList(Tenant  tenant);

    /**
     * 获取租户详细信息
     *
     * @param id 租户ID
     * @return 租户信息
     */
    TenantDTO getInfo(String id);

    /**
     * 新增租户
     * @param tenantDTO
     * @return
     */
    int createTenant(TenantDTO tenantDTO);
}
